﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SIIE_ERP.BaseDatos.CapitalHumano.Catalogos;
using System.Data;

namespace SIIE_ERP.Codigo.CapitalHumano.Catalogos
{
    public class CapitalHumanoCode
    {
        public static List<CCapitalHumanoColaboradores> ObtenerTodosColaboradores(UsuarioActivo usuario)
        {
            List<CCapitalHumanoColaboradores> colaboradores = new List<CCapitalHumanoColaboradores>();
            var consulta = new dbo_Cat_Colaborador(usuario.RFC, usuario.UserName);
            var funcionesTabla = consulta.Get_Colaboradores();
            foreach (DataRow fila in funcionesTabla.Rows)
            {
                var IdColaborador = fila["Id_Colaborador"].ToString();
                var Nombre        = fila["Nombre"].ToString();
                var Numero         = fila["Numero"].ToString();
                colaboradores.Add(new CCapitalHumanoColaboradores(IdColaborador, Nombre, Numero));
            }
            return colaboradores;
        }

        public static List<CCapitalHumanoFunciones> ObtenerTodasFunciones(UsuarioActivo usuario)
        {
            List<CCapitalHumanoFunciones> funciones = new List<CCapitalHumanoFunciones>();
            var consulta = new dbo_Cat_Funcion(usuario.RFC, usuario.UserName);
            var funcionesTabla = consulta.Get_Funciones();
            foreach (DataRow fila in funcionesTabla.Rows)
            {
                var IdFuncion   = fila["Id_Funcion"].ToString();
                var Nombre      = fila["Nombre"].ToString();
                var Descripcion = fila["Descripcion"].ToString();
                funciones.Add(new CCapitalHumanoFunciones(IdFuncion, Nombre, Descripcion));
            }
            return funciones;
        }

        public static bool InsertarFuncion(UsuarioActivo usuario, string Nombre, string Descripcion)
        {
            var db = new SIIE_ERP.BaseDatos.CapitalHumano.Catalogos.dbo_Cat_Funcion(usuario.RFC, usuario.UserName);
            return db.Insert_Funcion(Nombre, Descripcion).Id == 1;
        }

    }

    #region ClasesDataGrid
    public class CCapitalHumanoFunciones
    {
        public string Id { get; set; }
        public string Funcion { get; set; }
        public string Descripcion { get; set; }

        public CCapitalHumanoFunciones(string Id, string Funcion, string Descripcion)
        {
            this.Id = Id;
            this.Funcion = Funcion;
            this.Descripcion = Descripcion;
        }
    }

    public class CCapitalHumanoColaboradores
    {
        public string Id { get; set; }
        public string Colaborador { get; set; }
        public string Numero { get; set; }

        public CCapitalHumanoColaboradores(String Id, string Colaborador, string Numero)
        {
            this.Id = Id;
            this.Colaborador = Colaborador;
            this.Numero = Numero;
        }
    }
    #endregion
}
